In recent years, along with progress in high performance and multiple functions of information devices, the amount of data processed by an SoC (Systems on a Chip) equipped in these devices has been increased. To handle such increasing data processings, a configuration where a plurality of data processing units perform data processing in parallel and proceeding the whole processing while transferring the processed data to each other.
In the data transfer among the plurality of data processing units in the SoC, a buffer is provided to a memory to close a gap in data processing timing in the data transfer, thereby performing the data transfer via the buffer. For the memory to which the buffer is allocated, an external memory such as an external SDRAM (Synchronous Dynamic Random Access Memory) to the SoC is generally used for ensuring capacity.
An example of the above-mentioned data processing unit is a video output unit, while an access processing from the video output unit to an SDRAM is required to finish in a specific constant time period according to the characteristic of the display data to be handled. In the following, the access having such a limitation will be called as real-time access.
On the other hand, as another example of the data processing unit, there is a CPU (Central Processing Unit). When the CPU is executing an OS (Operating System), an access from the CPU to an SDRAM is not necessary to be finished in a constant time period as the real-time access, but it is required to be finished as fast as possible. In the following, the access having such property will be called as best-effort access.
As a method of access arbitration for the case where the real-time access request and the best-effort access request mentioned above are spontaneously generated to a same SDRAM, there is generally used a system or method for granting a high priority to the real-time access request and a lower priority than that of the real-time access request to the best-effort access, thereby performing an arbitration of access requests according to the priorities.
While the limitation in processing time given to the high-priority real-time access is fulfilled by using such a system or method of arbitration, when the real-time access requests are many, the low-priority best-effort requests should wait for a long time, and thus there is a problem that the performance of the whole system may be lowered as a result.
To solve the problem, for example, Japanese Patent Application Laid-Open Publication No. 2003-30134 (Patent Document 1) proposes a system or method of arbitration where a low-priority access request is selected according to a predetermined ratio so that the low-priority access request is selected in a constant ratio also when high-priority requests are constantly generated, although a high-priority access request is selected normally.